<?php

include_once 'crud.php';
include_once 'db.php';

/**
 * Gestor de publicidad
 *
 * @author anyul
 */
class publicidad extends db implements crud {

    public function ver($id) {
        $result = $this->select("*", "publicidad", array("id" => $id));
        return $result;
    }

    public function borrar($id) {
        $result = $this->delete("publicidad", array("id" => $id));
        if (!$result['suceed']) {
            trigger_error(var_export($result, 1), E_USER_NOTICE);
        }
        return $result['suceed'];
    }

    public function editar($data, $id) {
        $foto = $data['imagen'];
        unset($data['imagen']);
        $result = $this->update("publicidad", $data, array("id" => $id));
        if ($result['suceed']) {
            foreach ($foto as $indice => $imagen) {
                if ($imagen['error'] == 0) {
                    $nombre_imagen = "ad_" . $id . ".jpg";
                    $exito_imagen = move_uploaded_file($imagen['tmp_name'], '../images/publicidad/' . $nombre_imagen);
                    if ($exito_imagen) {
                        $result_edit = $this->update("publicidad", array("foto" => $nombre_imagen), array("id" => $id));
                    }
                }
            }
        }
        if (!$result['suceed']) {
            trigger_error("No se pudo editar el registro. <br/>" . var_export($result, 1), E_USER_NOTICE);
        }
        return $result['suceed'];
    }

    public function registrar($data) {
        $foto = $data['imagen'];
        unset($data['imagen']);
        $result = $this->insert("publicidad", $data);
        if ($result['suceed']) {
            foreach ($foto as $indice => $imagen) {
                if ($imagen['error'] == 0) {
                    $nombre_imagen = "ad_" . $result['insert_id'] . ".jpg";
                    $exito_imagen = move_uploaded_file($imagen['tmp_name'], '../images/publicidad/' . $nombre_imagen);
                    if ($exito_imagen) {
                        $result_edit = $this->update("publicidad", array("foto" => $nombre_imagen), array("id" => $result['insert_id']));
                    }
                }
            }
        }
        if (!$result['suceed']) {
            trigger_error("No se pudo guardar el registro <br/>" . var_export($result, 1), E_USER_NOTICE);
        }
        return $result['suceed'];
    }

    /**
     * mostrar banner principal
     * @return mixed retorna un solo banner
     */
    public function mostrar_banner() {
        $banner = $this->dame_query("select * from publicidad where tipo= 1 and status = 1 order by RAND() limit 1");
        return $banner;
    }

    /**
     * Mostrar publicidad de los laterales
     * @param integer $num cantidad de anuncios a mostrar
     * @return mixed retorna un arreglo de registros de la base de datos ordenados de forma aleatoria 
     */
    public function mostrar_laterales($num =3) {
        $ads = $this->dame_query("select * from publicidad where tipo= 2 and status = 1 order by rand() limit ".$num);
        return $ads;
    }
}
?>
